Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Make sure that you've checked the boxes below before you submit PR:
#923 introduced a stackoverflow when the value passed to
ReadFrom
does not implement theio.WriterTo
interface.From the
go
stdlib source :If the first optimization can run no stackoverflow will happen.
But if the
src
does not implementio.WriterTo
it will go to a second optimization.In our use case it triggers a stackoverflow by calling itself.
There might be other ways to fix this and any suggestions are welcome!
I chose to erase all interfaces from the
ResponseWriter
exceptio.Writer
.This forces
io.Copy
to useWrite()
, which was the intended behavior.